package com.university.evaluation.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 考评加分记录表
 */
@Data
@TableName("t_score_record")
public class ScoreRecord implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId
    private String recordId;      // 记录ID
    private String userId;        // 用户ID
    private String ruleId;        // 关联规则ID
    private String materialPath;  // 材料存储路径
    private String materialType;  // 材料类型：PDF/JPG
    private String reason;        // 加分事由
    private String status;        // 状态：PENDING_MON/PENDING_TCH/PASS/REJECT
    private BigDecimal score;     // 最终加分值
    private LocalDateTime submitTime;  // 提交时间
    private LocalDateTime updateTime;  // 更新时间

    // 状态常量
    public static final String STATUS_PENDING_MON = "PENDING_MON";  // 待班委审核
    public static final String STATUS_PENDING_TCH = "PENDING_TCH";  // 待辅导员审核
    public static final String STATUS_PASS = "PASS";                // 审核通过
    public static final String STATUS_REJECT = "REJECT";            // 审核拒绝

    // 材料类型常量
    public static final String MATERIAL_TYPE_PDF = "PDF";
    public static final String MATERIAL_TYPE_JPG = "JPG";
}
